//查询当前组织结构所有月租产品
function syncGetMonthlyProductList() {
	var data;
	$.ajax({
		type : "get",
		url : 'rest/getMonthlyProductList.do',
		async : false,
		success : function(result) {
			if (result.retCode == '0000') {
				data = result.data;
				data[data.length] = {"id":"","proTitle":"全部"};		//可以不要
			} else {
				data = "";
			}
		}
	});
	return data;
}

//json对象转字符串形式  
function json2str(o) {
	var arr = [];
	var fmt = function(s) {
		if (typeof s == 'object' && s != null) return json2str(s);
		return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s;
	}
	for (var i in o) arr.push("'" + i + "':" + fmt(o[i]));
	return '{' + arr.join(',') + '}';
}

//字符串转json对象形式  
function stringToJson(stringValue) 
{ 
	eval("var theJsonValue = "+stringValue); 
	return theJsonValue; 
}
	
//获取管理员的管辖城市列表
function formatCityList(value,jsonvalue){
	if (!value) {
		return "";
	}
	var value = value.split(",");
	var text="";
	for(var i=0;i<value.length;i++){
		for(var j=0; j<jsonvalue.length; j++){
			if(value[i]==jsonvalue[j].dictValue){
				text = text + " " + jsonvalue[j].dictName;
			}
		}
	}
	return text; 
}


//格式化日期和时间
Date.prototype.format = function (format) 
{
    var o = {
        "M+": this.getMonth() + 1, //month 
        "d+": this.getDate(),    //day 
        "h+": this.getHours(),   //hour 
        "m+": this.getMinutes(), //minute 
        "s+": this.getSeconds(), //second 
        "q+": Math.floor((this.getMonth() + 3) / 3),  //quarter 
        "S": this.getMilliseconds() //millisecond 
    }
    if (/(y+)/.test(format)) format = format.replace(RegExp.$1,
    (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o) if (new RegExp("(" + k + ")").test(format))
        format = format.replace(RegExp.$1,
      RegExp.$1.length == 1 ? o[k] :
        ("00" + o[k]).substr(("" + o[k]).length));
    return format;
}
//前端student/index班级
function formatClassValue(value,jsonvalue){
    var json = jsonvalue;
    var text="";
    for(var i=0; i<json.length; i++){
        if(value==json[i].id){
            text = json[i].gradeName;
        }
    }
    return text;
}
//单位list
function formatCompanyValue(value,jsonvalue){
    var json = jsonvalue;
    var text="";
    for(var i=0; i<json.length; i++){
        if(value==json[i].id){
            text = json[i].companyName;
        }
    }
    return text;
}
//线路list
function formatLineValue(value,jsonvalue){
    var json = jsonvalue;
    var text="";
    for(var i=0; i<json.length; i++){
        if(value==json[i].id){
            text = json[i].lineName;
        }
    }
    return text;
}
function formatDictValue(value,jsonvalue){
	var json = jsonvalue;
	var text="";
	for(var i=0; i<json.length; i++){
		if(value==json[i].dictValue){
			text = json[i].dictName;
		}
	}
	return text; 
}

function formatOrgValue(value,jsonvalue){
	var json = jsonvalue;
	var text="";
	for(var i=0; i<json.length; i++){
		if(value==json[i].id){
			text = json[i].name;
		}
	}
	return text; 
}
//字典字符型转int
function changeCharset(obj){
    for(var i=0;i<obj.length;i++){
        obj[i].dictValue = parseInt(obj[i].dictValue);
    }
    return obj;
}

function syncGetDictListByTypeName(typeName){
	var data;
	$.ajax({
		type : "get",
		url : 'rest/api/searchDictListByTypeName.do?typeName='+typeName,
		async : false,
		success : function(result) {
			if (result.retCode == '0000') {
				data=result.data;
			}
			else{
				data="";
			}
		}
	});
	return data;
}
//根据id查找区域name
function syncGetAreaNameByAreaId(id){
    var data;
    $.ajax({
        type : "get",
        url : 'rest/getAreaNameById.do?id='+id,
        async : false,
        success : function(result) {
            if (result.retCode == '0000') {
                data=result.data;
            }
            else{
                data="";
            }
        }
    });
    return data;
}
// 老师列表
function formatUserName(value,jsonvalue){
    var json = jsonvalue;
    var text="";
    for(var i=0; i<json.length; i++){
        if(value==json[i].id){
            text = json[i].adminName;
        }
    }
    return text;
}
//从数据库获取下拉框列表
function syncGetList(url){
    var data;
    $.ajax({
        type : "get",
        url : url,
        async : false,
        success : function(result) {
            if (result.retCode == '0000') {
                data=result.data;
            }
            else{
                data="";
            }
        }
    });
    return data;
}
//所属学校下拉框列表
function syncGetSchool(){
	var data;
	$.ajax({
		type : "get",
		url : 'rest/companyList.do?type=school',
		async : false,
		success : function(result) {
			if (result.retCode == '0000') {
				data=result.data;
			}
			else{
				data="";
			}
		}
	});
	return data;
}
// 组织机构和学校的联通监听
function orgChangeListener(companyType){
//	 $('#schoolId').val(" --请先选择组织结构-- "); 
	
	$("#orgId").combotree({
		onSelect : function(node) {
			$.ajax({
				type : "get",
				url : 'rest/getSchoolListByOrgId.do?type=school&orgId=' + node.id,
				success : function(result) {
					$('#schoolId').val(""); 
					if (result.data == undefined) {
						result.data = "[{'id':'','companyName':''}]";
					}
					var data = $.parseJSON(JSON.stringify(result.data));
					$('#schoolId').combobox({
						data : data,
						valueField : 'id',
						textField : 'companyName'
					});

				}
			});
			if(companyType == 3){
				$.ajax({
					type : "get",
					url : 'rest/getSchoolListByOrgId.do?type=operates&orgId=' + node.id,
					success : function(result) {
						$('#operatesId').val(""); 
						if (result.data == undefined) {
							result.data = "[{'id':'','companyName':''}]";
						}
						var data = $.parseJSON(JSON.stringify(result.data));
						$('#operatesId').combobox({
							data : data,
							valueField : 'id',
							textField : 'companyName'
						});

					}
				});
			}
			
		}
	}); // end combotree
	
	
}

function operatesChangeListener(){
//	 $('#carNo').val(" --请先选择学校-- "); 
	
	 $('#operatesId').combobox({
			onChange :function(n,o){
				carNo=syncGetList("complain/findBusByCompanyId.do?id=" + n);
				$('#carNo').combobox({
					data : carNo,
					valueField : 'carNo',
					textField : 'carNo'
				});
			}
		});
	
}	
	
function schoolChangeListener(){
//	 $('#carNo').val(" --请先选择学校-- "); 
	
	 $('#schoolId').combobox({
			onChange :function(n,o){
				carNo=syncGetList("complain/findBusByCompanyId.do?id=" + n);
				$('#carNo').combobox({
					data : carNo,
					valueField : 'carNo',
					textField : 'carNo'
				});
			}
		});
	
}

function carNoChangeListener(){
//	 $('#carNo').val(" --请先选择学校-- "); 
	
	 $('#carNo').combobox({
			onChange :function(n,o){
				carNo=syncGetList("rest/lineList.do?carNo=" + n);
				$('#lineName').combobox({
					data : carNo,
					valueField : 'id',
					textField : 'lineName'
				});
			}
		});
	
}	

//管理员管理的城市list
function syncGetAdminCityList(typeName){
	var data;
	$.ajax({
		type : "get",
		url : 'rest/api/getAdminCityList.do?typeName='+typeName,
		async : false,
		success : function(result) {
			if (result.retCode == '0000') {
				data=result.data;
			}
			else{
				data="";
			}
		}
	});
	return data;
}

//组织结构查询
function syncGetOrg(){
	var data;
	$.ajax({
		type : "get",
		url : 'rest/orgAllList.do',
		async : false,
		success : function(result) {
			if (result.success == 'true') {
				data=result.rows;
			}
			else{
				data="";
			}
		}
	});
	return data;
}


function syncGetOrgTree(){
	var data;
	$.ajax({
		type : "get",
		url : 'rest/orgTree.do',
		async : false,
		success : function(result) {
			data=result;
		}
	});
	return data;
}

//form 2 json
function form2Json(id) {
    var arr = $("#" + id).serializeArray();
    var jsonStr = "";

    jsonStr += '{';
    for (var i = 0; i < arr.length; i++) {
        jsonStr += '"' + arr[i].name + '":"' + arr[i].value + '",';
    }
    jsonStr = jsonStr.substring(0, (jsonStr.length - 1));
    jsonStr += '}';

    var json = JSON.parse(jsonStr);
    return json;
}
function formatValue(value,jsonvalue){
	var json = jsonvalue;
	json = eval(json);
	var text="";
	for(var i=0; i<json.length; i++){
		if(value==json[i].id){
			text = json[i].text;
		}
	}
	return text;
}
function listback(url){
	if(url == null || url == ''){
		url="memberInformationList.do";
	}
	$.get(url, {}, function(data){
		$("#center").empty();
        $("#center").html(data);
        $.parser.parse($("#center"));
    });
}

function orderStatus(value){
	var x;
    switch (parseInt(value))
    {
        case 1:
            x="待支付";
            break;
        case 2:
            x="已支付";
            break;
        case 3:
            x="已备餐";
            break;
        case 4:
            x="已完成";
            break;
        case 5:
            x="未退款";
            break;
        case 6:
            x="退款中";
            break;
        case 7:
            x="已退款";
            break;
    }
    return x;
}

function transferStauts(value){
	var x;
    switch (parseInt(value)){
        case 1 : x = "<font color=\"green\">已转账</font>";break;
        case 2 : x = "<font color=\"red\">未转账</font>";break;
    }
    return x;
}

function certifiedStatus(value){
	var x;
    switch (parseInt(value)){
        case 1 :  x = "<font color=\"green\">已认证</font> ";break;
        case 2 :  x = "<font color=\"red\">未认证</font>";break;
    }
    return x;
}

function businessStatus(value){
	var x;
    switch (parseInt(value)){
        case 0 : x = "<font color=\"red\">禁用</font> ";break;
        case 1 : x = "<font color=\"green\">启用</font>";break;
    }
    return x;
}


function formatDatebox(value) {
    if (value == null || value == '') {
        return '';
    }
    var dt;
    if (value instanceof Date) {
        dt = value;
    }
    else {
        dt = new Date(value);
        if (isNaN(dt)) {
            value = value.replace(/\/Date\((-?\d+)\)\//, '$1'); //标红的这段是关键代码，将那个长字符串的日期值转换成正常的JS日期格式
            dt = new Date();
            dt.setTime(value);
        }
    }

    return dt.format("yyyy-MM-dd hh:mm:ss");   //这里用到一个javascript的Date类型的拓展方法，这个是自己添加的拓展方法，在后面的步骤3定义
}
function checkValue(value){
	var patrn = /^[a-zA-Z][\w]*$/;
	if(!patrn.exec(value)){
		alert("必须为字母开头");
	}
	var patrn2=/[0-9]/;
	if(!patrn2.exec(value)){
		alert("必须包含数字");
	}
	
	var patrn3=/[_]/;
	if(!patrn3.exec(value)){
		alert("必须包含下划线");
	}
	
	if(value.length<6 || value.length>12){
		alert("长度必须为6-12");
	}
}
function checkPwd(value){
	var patrn = /^\w*$/;
	if(!patrn.exec(value)){
		alert("密码只能为数字、字母、下划线组合");
	}
	var patrn1=/[A-Za-z]/;
	if(!patrn1.exec(value)){
		alert("密码必须包含字母");
	}
	
	var patrn2=/[0-9]/;
	if(!patrn2.exec(value)){
		alert("密码必须包含数字");
	}
	
	var patrn3=/[_]/;
	if(!patrn3.exec(value)){
		alert("密码必须包含下划线");
	}
	if(value.length<6 || value.length>12){
		alert("密码长度为6-12");
	}
}

//清空查询
function clearForm(){  
    $('#fms').form('clear');  
} 

//=============== 大写锁定键打开提示 ============================================//
/*
使用：$("#txtPWD").capsLockTip();
*/
(function ($) {
    $.fn.extend({
        capsLockTip: function (divTipID) {
            return this.each(function () {
                //创建对象实例并保存。
                //获取实例对象：var api = $("#txtPWD").data("txtPWD");
                var ins = new $.CapsLockTip($(this));
                $(this).data(this.id, ins);
            });
        }
    });


    //创建一个实例。
    //___target jq目标对象。
    //___divTipID   显示提示文本的div。
    $.CapsLockTip = function (___target) {
        //设置当前实例的配置参数。
        this.target = ___target;
        var _this = this;

        $(document).ready(function () {
            //创建显示大写锁定的div。
            if(null == $.fn.capsLockTip.divTip){
                $("body").append("<div id='divTip__985124855558842555' style='width:100px; height:15px; padding-top:3px; display:none; position:absolute; z-index:9999999999999; text-align:center; background-color:#FDF6AA; color:Red; font-size:12px; border:solid 1px #DBC492; border-bottom-color:#B49366; border-right-color:#B49366;'>大写锁定已打开</div>");
                $.fn.capsLockTip.divTip = $("#divTip__985124855558842555");
            }

            _this.target.bind("keypress", function (_event) {
                var e = _event || window.event;
                var kc = e.keyCode || e.which;
                var isShift = e.shiftKey || (kc == 16) || false;
                $.fn.capsLockTip.capsLockActived = false;
                if ((kc >= 65 && kc <= 90 && !isShift) || (kc >= 97 && kc <= 122 && isShift))
                    $.fn.capsLockTip.capsLockActived = true;
                _this.showTips($.fn.capsLockTip.capsLockActived);
            });

            _this.target.bind("keydown", function (_event) {
                var e = _event || window.event;
                var kc = e.keyCode || e.which;
                if (kc == 20 && null != $.fn.capsLockTip.capsLockActived){
                    $.fn.capsLockTip.capsLockActived = !$.fn.capsLockTip.capsLockActived;
                    _this.showTips($.fn.capsLockTip.capsLockActived);
                }
            });

            _this.target.bind("focus", function (_event) {
                if (null != $.fn.capsLockTip.capsLockActived)
                    _this.showTips($.fn.capsLockTip.capsLockActived);
            });

            _this.target.bind("blur", function (_event) {
                _this.showTips(false);
            });
        });

        //显示或隐藏大写锁定提示。
        this.showTips = function (display) {
            if (display) {
                var offset = _this.target.offset();
                $.fn.capsLockTip.divTip.css("left", offset.left + "px");
                $.fn.capsLockTip.divTip.css("top", offset.top + _this.target[0].offsetHeight + 3 + "px");
                $.fn.capsLockTip.divTip.show();
            }
            else {
                $.fn.capsLockTip.divTip.hide();
            }
        };

        //jq控件公用静态对象。

        //提示框。
        $.fn.capsLockTip.divTip = null;
        //大写锁定键状态
        $.fn.capsLockTip.capsLockActived = null;
    };
})(jQuery);